package ar.com.seminario.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import ar.com.seminario.common.domain.entity.Identifiable;

/**
 * Detalla una entrevista de ingreso.
 * 
 * @author Pablo Lamas
 * 
 */
@Entity
@Table(name = "entrevista_rrhh")
public class EntrevistaRRHH implements Identifiable<Long> {

	/**
	 * Identificador de la entidad.
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id", nullable = false)
	private Long id;

	/**
	 * El nombre del evaluador.
	 */
	@Column(name = "evaluador", nullable = false)
	private String evaluador;

	/**
	 * Fecha de la entrevista.
	 */
	@Column(name = "fecha", nullable = false)
	private Date fecha;
	
	@Column(name = "nivel_ingles", nullable = true)
	private Integer nivelIngles;
	
	@Column(name = "nivel_frances", nullable = true)
	private Integer nivelFrances;

	@Column(name = "nivel_portugues", nullable = true)
	private Integer nivelPortugues;

	@Column(name = "titulo_terciario", nullable = true)
	private String tituloTerciario;

	@Column(name = "institucion_terciario", nullable = true)
	private String institucionTerciario;

	@Column(name = "anio_terciario", nullable = true)
	private String anioTerciario;

	@Column(name = "titulo_universitario", nullable = true)
	private String tituloUniversitario;

	@Column(name = "institucion_universitario", nullable = true)
	private String institucionUniversitario;

	@Column(name = "anio_universitario", nullable = true)
	private String anioUniversitario;

	@Column(name = "titulo_otro", nullable = true)
	private String tituloOtro;

	@Column(name = "institucion_otro", nullable = true)
	private String institucionOtro;

	@Column(name = "anio_otro", nullable = true)
	private String anioOtro;

	@Column(name = "nivel_office", nullable = true)
	private Integer nivelOffice;

	@Column(name = "nivel_programacion", nullable = true)
	private Integer nivelProgramacion;

	@Column(name = "orientacion_cliente", nullable = true)
	private String orientacionCliente;

	@Column(name = "trabajo_en_equipo", nullable = true)
	private String trabajoEnEquipo;

	@Column(name = "respeto", nullable = true)
	private String respeto;

	@Column(name = "compromiso", nullable = true)
	private String compromiso;

	@Column(name = "conocimiento_del_negocio", nullable = true)
	private String conocimientoDelNegocio;

	@Column(name = "influencia_y_negociacion", nullable = true)
	private String influenciaYNegociacion;

	@Column(name = "conocimiento_industria_y_mercado", nullable = true)
	private String conocimientoIndustriaYMercado;

	@Column(name = "elaboracion_soluciones", nullable = true)
	private String elaboracionSoluciones;

	@Column(name = "orientacion_resultados", nullable = true)
	private String orientacionResultados;

	@Column(name = "conocimiento_tecnico", nullable = true)
	private String conocimientoTecnico;

	@Column(name = "pensamiento_conceptual", nullable = true)
	private String pensamientoConceptual;

	@Column(name = "credibilidad_tecnica", nullable = true)
	private String credibilidadTecnica;

	@Column(name = "colaboracion", nullable = true)
	private String colaboracion;

	@Column(name = "comunicacion_eficaz", nullable = true)
	private String comunicacionEficaz;

	@Column(name = "conduccion_personas", nullable = true)
	private String conduccionPersonas;

	@Column(name = "compromiso_rentabilidad", nullable = true)
	private String compromisoRentabilidad;

	@Column(name = "disponible_viajar", nullable = true)
	private Boolean disponibleViajar;

	@Column(name = "presentacion_general", nullable = true)
	private String presentacionGeneral;

	@Column(name = "expresion_verbal", nullable = true)
	private String expresionVerbal;

	@Column(name = "motivacion_para_cambio", nullable = true)
	private String motivacionParaCambio;

	@Column(name = "pretenciones_economicas", nullable = true)
	private String pretencionesEconomicas;

	@Column(name = "condiciones_laborales", nullable = true)
	private String condicionesLaborales;

	@Column(name = "disponibilidad_ingreso", nullable = true)
	private String disponibilidadIngreso;
	
	/**
	 * Indica si fue aprobado el candidato en esta entrevista.
	 */
	@Column(name = "esta_aprobado", nullable = false)
	private Boolean estaAprobado;

	/**
	 * Observaciones realizadas sobre la entrevista.
	 */
	@Column(name = "observaciones", nullable = true)
	private String observaciones;

	/**
	 * Justificacion de porque se llego al resultado.
	 */
	@Column(name = "justificacion", nullable = true)
	private String justificacion;

	/**
	 * Constructor por defecto.
	 */
	public EntrevistaRRHH() {

	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getEvaluador() {
		return evaluador;
	}

	public void setEvaluador(String evaluador) {
		this.evaluador = evaluador;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public Boolean getEstaAprobado() {
		return estaAprobado;
	}

	public void setEstaAprobado(Boolean estaAprobado) {
		this.estaAprobado = estaAprobado;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public String getJustificacion() {
		return justificacion;
	}

	public void setJustificacion(String justificacion) {
		this.justificacion = justificacion;
	}

	public Integer getNivelIngles() {
		return nivelIngles;
	}

	public void setNivelIngles(Integer nivelIngles) {
		this.nivelIngles = nivelIngles;
	}

	public Integer getNivelFrances() {
		return nivelFrances;
	}

	public void setNivelFrances(Integer nivelFrances) {
		this.nivelFrances = nivelFrances;
	}

	public Integer getNivelPortugues() {
		return nivelPortugues;
	}

	public void setNivelPortugues(Integer nivelPortugues) {
		this.nivelPortugues = nivelPortugues;
	}

	public String getTituloTerciario() {
		return tituloTerciario;
	}

	public void setTituloTerciario(String tituloTerciario) {
		this.tituloTerciario = tituloTerciario;
	}

	public String getInstitucionTerciario() {
		return institucionTerciario;
	}

	public void setInstitucionTerciario(String institucionTerciario) {
		this.institucionTerciario = institucionTerciario;
	}

	public String getAnioTerciario() {
		return anioTerciario;
	}

	public void setAnioTerciario(String anioTerciario) {
		this.anioTerciario = anioTerciario;
	}

	public String getTituloUniversitario() {
		return tituloUniversitario;
	}

	public void setTituloUniversitario(String tituloUniversitario) {
		this.tituloUniversitario = tituloUniversitario;
	}

	public String getInstitucionUniversitario() {
		return institucionUniversitario;
	}

	public void setInstitucionUniversitario(String institucionUniversitario) {
		this.institucionUniversitario = institucionUniversitario;
	}

	public String getAnioUniversitario() {
		return anioUniversitario;
	}

	public void setAnioUniversitario(String anioUniversitario) {
		this.anioUniversitario = anioUniversitario;
	}

	public String getTituloOtro() {
		return tituloOtro;
	}

	public void setTituloOtro(String tituloOtro) {
		this.tituloOtro = tituloOtro;
	}

	public String getInstitucionOtro() {
		return institucionOtro;
	}

	public void setInstitucionOtro(String institucionOtro) {
		this.institucionOtro = institucionOtro;
	}

	public String getAnioOtro() {
		return anioOtro;
	}

	public void setAnioOtro(String anioOtro) {
		this.anioOtro = anioOtro;
	}

	public Integer getNivelOffice() {
		return nivelOffice;
	}

	public void setNivelOffice(Integer nivelOffice) {
		this.nivelOffice = nivelOffice;
	}

	public Integer getNivelProgramacion() {
		return nivelProgramacion;
	}

	public void setNivelProgramacion(Integer nivelProgramacion) {
		this.nivelProgramacion = nivelProgramacion;
	}

	public String getOrientacionCliente() {
		return orientacionCliente;
	}

	public void setOrientacionCliente(String orientacionCliente) {
		this.orientacionCliente = orientacionCliente;
	}

	public String getTrabajoEnEquipo() {
		return trabajoEnEquipo;
	}

	public void setTrabajoEnEquipo(String trabajoEnEquipo) {
		this.trabajoEnEquipo = trabajoEnEquipo;
	}

	public String getRespeto() {
		return respeto;
	}

	public void setRespeto(String respeto) {
		this.respeto = respeto;
	}

	public String getCompromiso() {
		return compromiso;
	}

	public void setCompromiso(String compromiso) {
		this.compromiso = compromiso;
	}

	public String getConocimientoDelNegocio() {
		return conocimientoDelNegocio;
	}

	public void setConocimientoDelNegocio(String conocimientoDelNegocio) {
		this.conocimientoDelNegocio = conocimientoDelNegocio;
	}

	public String getInfluenciaYNegociacion() {
		return influenciaYNegociacion;
	}

	public void setInfluenciaYNegociacion(String influenciaYNegociacion) {
		this.influenciaYNegociacion = influenciaYNegociacion;
	}

	public String getConocimientoIndustriaYMercado() {
		return conocimientoIndustriaYMercado;
	}

	public void setConocimientoIndustriaYMercado(
			String conocimientoIndustriaYMercado) {
		this.conocimientoIndustriaYMercado = conocimientoIndustriaYMercado;
	}

	public String getElaboracionSoluciones() {
		return elaboracionSoluciones;
	}

	public void setElaboracionSoluciones(String elaboracionSoluciones) {
		this.elaboracionSoluciones = elaboracionSoluciones;
	}

	public String getOrientacionResultados() {
		return orientacionResultados;
	}

	public void setOrientacionResultados(String orientacionResultados) {
		this.orientacionResultados = orientacionResultados;
	}

	public String getConocimientoTecnico() {
		return conocimientoTecnico;
	}

	public void setConocimientoTecnico(String conocimientoTecnico) {
		this.conocimientoTecnico = conocimientoTecnico;
	}

	public String getPensamientoConceptual() {
		return pensamientoConceptual;
	}

	public void setPensamientoConceptual(String pensamientoConceptual) {
		this.pensamientoConceptual = pensamientoConceptual;
	}

	public String getCredibilidadTecnica() {
		return credibilidadTecnica;
	}

	public void setCredibilidadTecnica(String credibilidadTecnica) {
		this.credibilidadTecnica = credibilidadTecnica;
	}

	public String getColaboracion() {
		return colaboracion;
	}

	public void setColaboracion(String colaboracion) {
		this.colaboracion = colaboracion;
	}

	public String getComunicacionEficaz() {
		return comunicacionEficaz;
	}

	public void setComunicacionEficaz(String comunicacionEficaz) {
		this.comunicacionEficaz = comunicacionEficaz;
	}

	public String getConduccionPersonas() {
		return conduccionPersonas;
	}

	public void setConduccionPersonas(String conduccionPersonas) {
		this.conduccionPersonas = conduccionPersonas;
	}

	public String getCompromisoRentabilidad() {
		return compromisoRentabilidad;
	}

	public void setCompromisoRentabilidad(String compromisoRentabilidad) {
		this.compromisoRentabilidad = compromisoRentabilidad;
	}

	public Boolean getDisponibleViajar() {
		return disponibleViajar;
	}

	public void setDisponibleViajar(Boolean disponibleViajar) {
		this.disponibleViajar = disponibleViajar;
	}

	public String getPresentacionGeneral() {
		return presentacionGeneral;
	}

	public void setPresentacionGeneral(String presentacionGeneral) {
		this.presentacionGeneral = presentacionGeneral;
	}

	public String getExpresionVerbal() {
		return expresionVerbal;
	}

	public void setExpresionVerbal(String expresionVerbal) {
		this.expresionVerbal = expresionVerbal;
	}

	public String getMotivacionParaCambio() {
		return motivacionParaCambio;
	}

	public void setMotivacionParaCambio(String motivacionParaCambio) {
		this.motivacionParaCambio = motivacionParaCambio;
	}

	public String getPretencionesEconomicas() {
		return pretencionesEconomicas;
	}

	public void setPretencionesEconomicas(String pretencionesEconomicas) {
		this.pretencionesEconomicas = pretencionesEconomicas;
	}

	public String getCondicionesLaborales() {
		return condicionesLaborales;
	}

	public void setCondicionesLaborales(String condicionesLaborales) {
		this.condicionesLaborales = condicionesLaborales;
	}

	public String getDisponibilidadIngreso() {
		return disponibilidadIngreso;
	}

	public void setDisponibilidadIngreso(String disponibilidadIngreso) {
		this.disponibilidadIngreso = disponibilidadIngreso;
	}

}
